package com.ikaros.service;

import com.ikaros.dto.CartDTO;
import com.ikaros.entity.ProductInfo;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;

/**
 * Created by Ikaros on 2017/9/10.
 */
public interface ProductService {
    /**
     * 通过id查找商品
     * @param categoryId
     * @return
     */
    ProductInfo findOne(String categoryId);

    /**
     * 查找上架的商品
     * @return
     */
    List<ProductInfo> findUpAll();

    /**
     * 查找所有商品，买家后台用
     * @param pageable 分页
     * @return
     */
    Page<ProductInfo> findAll(Pageable pageable);

    /**
     * 修改商品
     * @param productInfo
     * @return
     */
    ProductInfo save(ProductInfo productInfo);
    //加库存:不用返回数字，出错就直接抛异常就好了
    void increaseStock(List<CartDTO> cartDTOList);
    //减库存
    void decreaseStock(List<CartDTO> cartDTOList);

}
